<!DOCTYPE html>
<html lang="zh-CN">

<head>
	<meta charset="UTF-8">
	<meta name="author" content="wangbo">
	<meta http-equiv="X-UA-Compatible" content="IE=edge">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<title>Document</title>
</head>

<body>
	<script>
		class Dog {
			// 私有变量,只能在对象中使用,#
			#height = 10;
			// 对象某些直接有值
			type = "狗"
			// 构造方法
			constructor(name, age) {
				this.name = name;
				this.age = age;
			}
			// 会被构造函数,覆盖掉
			age = 10
			//方法
			speak = function () {
				console.log("汪汪叫");
			}
			// 推荐使用
			eat() {
				console.log("吃骨头", this.#height);
			}
			// 私有变量,外边想用到,使用共有的方法,方法名会变成属性
			set myh(val) {
				// 当身高的值,给的不合理的时候,不许设置
				if (val <= 0) {
					return
				}
				console.log('我在设置#height的值');
				this.#height = val
			}
			get myh() {
				console.log("返回#height的值");
				return this.#height
			}
		}
		let dd = new Dog("旺财", 3)
		console.log(dd);
	</script>
</body>

</html>